From: Lionel Landwerlin Date: Wed, 17 Jul 2013 23:58:47 +0000 (+0100) Subject: st-theme-node: reset paint state when theme node changes X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~3921 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=fd83990d8a5012cd149f089e68850fc84c47538c;p=gnome-shell.git st-theme-node: reset paint state when theme node changes https://bugzilla.gnome.org/show_bug.cgi?id=704430 --- diff --git a/src/st/st-theme-node-drawing.c b/src/st/st-theme-node-drawing.c index 74751dc1d..dc5b817a9 100644 --- a/src/st/st-theme-node-drawing.c +++ b/src/st/st-theme-node-drawing.c @@ -2392,7 +2392,13 @@ st_theme_node_paint (StThemeNode *node, if (width <= 0 || height <= 0) return; - if (st_theme_node_needs_new_box_shadow_for_size (state, node, width, height)) + /* Check whether we need to recreate the textures of the paint + * state, either because : + * 1) the theme node associated to the paint state has changed + * 2) the allocation size change requires recreating textures + */ + if (state->node != node || + st_theme_node_needs_new_box_shadow_for_size (state, node, width, height)) { /* If we had the ability to cache textures on the node, then we can just copy them over to the paint state and avoid all